昨天已經安裝了我們要連接的資料庫,今天我們要來用程式進行連線啦~
在程式連線之前,我們先開啟昨天的 TablePlus ,
按一下上方有個資料庫的圖案,來建立新的資料庫 book。


接著,點選上方 SQL 輸入以下 SQL 指令,創建一個測試的資料表。

    CREATE TABLE `booktest` (
          `id` int NOT NULL AUTO_INCREMENT,
          `bookName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
          `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
          `updatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
最後,再隨意建立一個測試資料,基本的創建就完成了。
    INSERT INTO `booktest` (`bookName`) VALUES
    ('testBook')
接著我們終於要開 Express 與資料庫連線了,我們繼續看下去~!
npm install mysql2 的指令下載 MySQL 的套件。
創立一個 config 的資料夾,再新增一個 mysqlConnection.js 檔案,
負責設定如何資料庫連線。
在 mysqlConnection.js 檔案,設定資料庫的帳密來建立連線。
    // 引入 mysql2/promise 模組
    const mysql = require('mysql2/promise')
    async function mysqlConnection() {
      try {
        // 建立與數據庫的連接
        const connection = await mysql.createConnection({
          host: 'localhost',
          port: 3306,
          user: 'root',
          database: 'book',
          password: '${密碼}'
        })
        // 關閉連接
        connection.end()
      } catch (error) {
        console.error('連接數據庫時出現錯誤:', error)
      }
    }
可以對照當時在 TablePlus 連線時的設定。

在連線底下寫一個簡單的 SQL,來測試看看有沒有連線正常。
    // 引入 mysql2/promise 模組
    const mysql = require('mysql2/promise')
    async function mysqlConnection() {
      try {
        // 建立與數據庫的連接
        const connection = await mysql.createConnection({
          host: 'localhost',
          port: 3306,
          user: 'root',
          database: 'book',
          password: '${密碼}'
        })
        // 執行 SQL 查詢
        const [rows, fields] = await connection.query('SELECT * FROM `booktest`')
        console.log(rows) // 在這裡處理查詢結果
        // 關閉連接
        connection.end()
      } catch (error) {
        console.error('連接數據庫時出現錯誤:', error)
      }
    }
現在來測試一下吧~
cd config 到 config 的資料夾底下。
node mysqlConnection.js 指令,測試看看有沒有跑出在 booktest 資料表新增的資料,undefined 的話,需要回去程式檢查一下是哪一個連線設定沒有設定好。)
以上資料庫連線的設定就完成啦~
明天會與大家聊聊如何與資料庫進行 新增/刪除/修改 等部分!
參考資料: